Skip to content

Updates - #2

Merged
jameseaster merged 9 commits into
mainfrom
updates
Aug 5, 2026
Merged

Updates#2
jameseaster merged 9 commits into
mainfrom
updates

Conversation

@jameseaster

@jameseaster jameseaster commented Aug 5, 2026

Copy link
Copy Markdown
Owner

Overview

Modernizes sorting-viewer to a healthy, maintainable state: every dependency
updated to its latest supported major, a full linting/formatting/testing/CI
setup, and a PrimeVue 3 → 4 theming rewrite. Bumps the app to 1.0.0.

Each commit is self-contained and passes the full local gate
(lintformat:checktype-checktest:runbuild).

Highlights

Build stack

  • Vue 3.2 → 3.5, Vite 4 → 8, @vitejs/plugin-vue → 6, vue-tsc → 3,
    @vue/tsconfig → 0.9, @types/node → 24, primeicons → 8.
  • Replaced the unmaintained npm-run-all with npm-run-all2 and removed the
    unused @vitejs/plugin-vue-jsx.
  • Pinned TypeScript to the latest 5.x (5.9) rather than 7 — the native TS 7
    rewrite is not yet supported by typescript-eslint or vue-tsc.

PrimeVue 3 → 4 (the centerpiece)

  • Moved to styled-mode theming with the Aura preset.
  • Dark mode is now a .dark class toggle via darkModeSelector, replacing the
    old document.styleSheets mutation hack (src/utils/helpers.ts, deleted).
  • Renamed the Dropdown component to Select (v4 rename).
  • Migrated the design-token CSS variables to their v4 (--p-*) names.

Tooling & tests

  • ESLint flat config for Vue + TS, Prettier, and a .prettierignore.
  • Vitest + @vue/test-utils + jsdom: unit tests for all six sort algorithms
    plus an app-mount smoke test (7 tests).
  • GitHub Actions CI (Node 24) running lint → format → type-check → test →
    build on every PR and on pushes to main.
  • netlify.toml pinning the production build to Node 24 (required by Vite 8).

Defaults & fixes

  • The app now defaults to dark mode with an initial dataset of 60 bars.
  • Fixed a latent selection-sort bug: a malformed var(--yellow-300 value
    (missing closing paren) meant the "smallest value" highlight never rendered.
  • Removed dead code (COLORS_DARK, THEMES.file).

Verification

  • Full gate passes from a clean npm ci.
  • Verified end-to-end (dev server and production build): the UI renders under
    Aura, the light/dark toggle flips the whole UI (Select, Dialog, Toast,
    Slider, Buttons, background), all six algorithms select and sort to
    completion, and the info Dialog and Toast work — with zero console errors.

See CHANGELOG.md for the full list.

@netlify

netlify Bot commented Aug 5, 2026

Copy link
Copy Markdown

Deploy Preview for sorting-viewer ready!

Name Link
🔨 Latest commit 18d6e91
🔍 Latest deploy log https://app.netlify.com/projects/sorting-viewer/deploys/6a733727107c080008528a20
😎 Deploy Preview https://deploy-preview-2--sorting-viewer.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@jameseaster
jameseaster merged commit 3e34868 into main Aug 5, 2026
5 checks passed
@jameseaster
jameseaster deleted the updates branch August 5, 2026 13:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant